• The "newaxis" command allows multiple plots on one page.
• Text font and size can be changed for the text or plot windows.
• More markers for point plots.
• Plot variables for controlling axis divisions.
• Plot variables for axis labels.
• Special file "defaults" can be used to set default options.
• Allows pi or π.
• Built in atan2().
• Improved speed for array assignments.
• New XFun callbacks SetPlotPICT() GetVarString().
• An XFun for linear fitting is available.
Bug Fixes:
• Fixed bug in assign element.
• Fixed bug in det().
• Change for quoted strings avoids variable name conflicts.
New documentation:
• The file "MathPad.doc" remains essentially the same but has been revised to update it for version 2.3.
• The file "Plotting" has been added.
• Examples and Xfuns have been updated slightly.
• Check out the MathPad web page
~
-- http://pubpages.unh.edu/~whd/MathPad for more examples and XFuns.
--------------- Details, Details ---------
---- The "newaxis" command can be used to put more than one set of axes on a page. The plot control variables can be changed with := following a "newaxis".
Xmin=0; Xmax=2; Ymin=0; Ymax=2
plot X
newaxis
Xmin:=-1:; Ymax:=?:
plot X^2
-- Plot control variables will inherit values from the previous strip unless you change them with :=. All changes to plot control variables must appear before the first plot statement for the new axis. The Xlabel and Ylabel variables can be changed by using := with a quoted string. To enable auto-ranging you can now "undefine" a variable with the syntax Ymin:=?
-- Splitting and shrinking the plot for each new strip is annoying when re-evaluating the same file. To avoid this, it starts by assuming the same number of strips will be used as last time. You can override this by using the special variable "Ystrips" to tell it how many strips you will have.
-- The default X origin for strips has been moved over so that for reasonably small Y axis labels, all the strips X axes will stay lined up. If a Y axis does need more space it will move over. To keep the alignment you can specify a Ylabel for each strip containing enough blanks to force alignment.
-- Label statement default placement is in the upper left part of the page regardless of where they appeared in the text. They can still be moved via the mouse. The label placement coordinate system has changed slightly so existing documents may need their labels re-adjusted. Moveable label locations are based on the full page and will not change if the number of strips changes.
-- A PICT pasted into the plot will be shown the same in all strips. (XFuns can put different PICTs in each strip).
---- MathPad 2.3 allows changing the text and/or plot font and size. The Edit menu will change the font or size of the top window. MathPad still does not have particularly sophisticated font handling. Fonts/sizes other than monaco 9 point may have some alignment problems. Resource STR# 129 can be edited to change the default fonts & sizes (used for documents with no saved font info). If you move a document with saved font info to a different system, any unknown fonts will revert to Chicago.
---- Point plots now cycle through 5 different symbols for different traces. This helps distinguish traces on BW monitors.
---- Special variables Xdiv and Ydiv were added to provide more control over plot axis tics. If these variables are used they override the automatic axis. They specify the distance between labeled tics in data units. The axis label format still assumes that "nice" divs (at most 2 digits of precision) will be used. This means that a div like .2 or .25 will work but a div of .234 will have rounded tic labels.
---- The special variables "Xlabel","Ylabel" and "Title" can now be used to add documentation to plots. The plot size is adjusted to make room for these labels if they are present. If newaxis is used Xlabel and Ylabel can be changed for each strip. Title is used only once at the top of the page.
---- MathPad now checks in its application folder for a file named "defaults". If one is found it is used as stationery for all new documents. This allows setting radians, numeric format, fonts window sizes etc. Create a MathPad document with whatever you want for defaults. (You will have to evaluate a plot to set plot window options). Normally you would delete all the text but default text is allowed. Save the file as "defaults" in MathPad's folder. If you prefer, you can use system 7 Finder to set the file's stationery flag. MathPad doesn't care but it might remind you of its special status.
---- The symbol "pi" can now be used as an alternative to π. This was done to allow plain text MathPad documents.
---- Despite the fact that atan2() isn't really a "basic" trig function, it is very useful. Making it built in allows it to handle the degree/radian switch correctly. MathPad does an extra check to avoid the -0 peculiarity of the SANE routines. MathPad will return +90 for atan2(sin(90),cos(90)). SANE routines would return -90. Since atan2() is now built in, any existing files with definitions for atan2() will have to have those definitions removed.
-- The code for assigning arrays has been changed to give a major speed improvement especially for large multidimensional arrays. The change means that arrays used in assignment statements must be uniform arrays. For example in 2D, each row must have the same number of elements.